package br.com.tcc.systemdx.persistence;

import java.util.List;

import br.com.tcc.systemdx.domain.DescricaoDoenca;

public interface DescricaoDoencaDAO extends AbstractEntityDAO<DescricaoDoenca> {
	public static final String BEAN_NAME = "descricaoDoencaDAO";
	
	/**
	 * Encontra todas as doenças que possuam algum dos sintomas com os valores
	 * passados.
	 * @param sintomasIds
	 * @return lista de descrições doença em caso de sucesso ou null caso contrário
	 */
	List<DescricaoDoenca> findBySintomasIds(List<Long> sintomasIds);
	
	/**
	 * Encontra todas as doenças que possuam o sintoma passado.
	 * @param sintomaId
	 * @return descrição doença em caso de sucesso ou null caso contrário
	 */
	DescricaoDoenca findBySintomaId(Long sintomaId);
	
	/**
	 * Encontra todas as doenças que possuam sintomas com o atributo e valor passado
	 * @param atributoId
	 * @param valorId
	 * @return lista de descrições doença em caso de sucesso ou null em caso contrário
	 */
	List<DescricaoDoenca> findByAtributoIdValorId(Long atributoId, Long valorId);

}
